package com.cnunicom.modules.basisdata.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;

/**
 * 基础数据表
 *
 * @author dingziyuan
 * @email dzy998877@163.com
 * @date 2019-06-17 10:45:52
 */
@Data
@TableName("tb_basis_data")
public class BasisDataEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * 作者id
     */
    @NotBlank(message = "作者id不能为空")
    private Long createUserId;
    /**
     * 作者名称
     */
    @NotBlank(message = "作者名称不能为空")
    private String createUserName;
    /**
     * 文章类型
     * <p>
     * 0:运城市市情及农业基本情况 1:运城市农村基本情况 2:运城市农业生产情况 3:局基本情况 4:各县(市,区)基本情况
     */
    @Range(min = 0, max = 4, message = "类型错误")
    private Integer articleType;
    /**
     * 文章题目
     */
    @NotBlank(message = "题目不能为空")
    private String articleTitle;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @TableField(exist = false)
    private String createStartTime;

    @TableField(exist = false)
    private String createEndTime;

    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @TableField(exist = false)
    private String updateStartTime;

    @TableField(exist = false)
    private String updateEndTime;

    /**
     * 文章具体内容
     */
    @NotBlank(message = "文章内容不能为空")
    private String articleContent;
    /**
     * 是否删除 0:未删除 1:已删除
     */
    @TableLogic
    @Range(min = 0, max = 1, message = "类型越界")
    private Integer isDelete;
    /**
     * 县
     */
    private String county;
    /**
     *
     */
    private String def2;
    /**
     *
     */
    private String def3;
    /**
     *
     */
    private String def4;
    /**
     *
     */
    private String def5;

}
